iT邦幫忙

2024 iThome 鐵人賽

DAY 6
0

接下來會講 sql 語法,但我自己語法也還很不熟,邊念邊分享,而且也是用工作摸到的以及自己理解的方式來敘述,這區塊請斟酌閱讀 :Q

然後接下來敘述是以好上手為 first policy 去撰寫,可能也不一定夠完整

今天用到的 table

CREATE TABLE sales (
    id SERIAL PRIMARY KEY,
    salesperson VARCHAR(255),
    region VARCHAR(255),
    amount NUMERIC
);

INSERT INTO sales (salesperson, region, amount) VALUES
('Alice', 'North', 500),
('Bob', 'North', 600),
('Alice', 'South', 700),
('Charlie', 'East', 400),
('Alice', 'North', 200),
('Bob', 'South', 300);

基本語法架構

SELECT _欄位
FROM _表格
WHERE 1 = 1
AND 條件1
AND 條件2
AND 條件3
ORDER BY 欄位

在最普通的 case 裡面,單表操作,我們會希望給一些條件去把我想要撈的欄位(column), 資料(row) 撈出來。
所以上面的語法重點在:

  1. 撈了什麼欄位
  2. 限制條件是什麼

where 1 = 1 就是一個小 trick,可以讓後續的條件用 AND 結構化的接在一起。

例子

SELECT 
    id, 
    salesperson, 
    region, 
    amount
FROM 
    sales
WHERE 
    1 = 1
    AND amount > 300   -- 條件1:銷售額必須大於 300
    AND (region = 'North' OR region = 'South')   -- 條件2:區域必須是 North 或 South
    AND salesperson != 'Charlie'   -- 條件3:排除 Charlie 的銷售記錄
ORDER BY 
    amount DESC;   -- 條件4:按照銷售額降序排列

所以以上的例子,關注的點就在我需要哪些「欄位」,然後是限制什麼條件:「列」,然後加以排序一下,最基本最基本的需求就滿足啦!

每篇的內容不要太多,下一篇講一下 聚合函數、groupy、having 關鍵字xD


上一篇
Day5 Table
下一篇
Day7 聚合函數
系列文
我獨自升級之資料庫從入門到中階20
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言